Skip to main content

Monthly Statement Generation

The Monthly Statement Generation API notifies the subscriber whenever a new monthly statement is generated for one or more accounts in the XD Ledger.

The subscriber must return a 200 response to confirm successful delivery of the callback notification. Any response other than 200 is treated as a failure, and the system will retry sending the notification according to the configured retry settings until a 200 response is received. If no 200 response is received after the configured attempts, the subscription for this event will be moved to a disabled state. The subscription can be re-enabled later if required.

Example

Request Parameters
ParameterDescription
source
Mandatory
String
Where the event originated. Constant value: "PL".
eventId
Mandatory
String
Unique identifier of this webhook delivery. Helpful for idempotency — you should ignore duplicates with the same eventId.
eventName
Mandatory
String
The type of event being delivered. Always "MONTHLY STATEMENT GENERATION".
groupId
Mandatory
String
Identifier(s) used to logically group webhook events. Useful for tracing related events.
Payload
Mandatory
Object
payload.accountIDsString
List of account IDs included in this monthly statement batch.
payload.batch_idString
Unique identifier for the generated statement batch. Useful for reconciliation or fetching statement data.
payload.pageNumberInteger
The current page number in case the statement data is paginated.
payload.totalPagesInteger
Total number of pages in the batch.
payload.timestampString
ISO 8601 timestamp (with timezone) when the statement was generated.
signature
Mandatory
String
Signature for validating that the webhook originated from NetXD. Always verify before processing.

Body


{
"source": "PL",
"eventId": "EVT24681357",
"eventName": "MONTHLY STATEMENT GENERATION",
"groupId": [
"900615385515312"
],
"payload": {
"accountIDs": [
"8146030",
"8146033",
"8146038",
"8146041",
"8146044",
"8146047",
"8146051",
"8146056",
"8146061",
"8146068"
],
"batch_id": "e560dc1769e74a66b024462d107852aa",
"pageNumber": 1,
"totalPages": 1,
"timestamp": "2025-09-03T19:32:20.323256091+05:30"
},
"signature": "{{Signature}}"
}

Response: 200


{
//The response for this callback notification from the subscriber should be 200 for a successfull delivery of notification. If the response is other than 200, it is meant as failed status of notification. Hence, the notification is sent for ‘n’ number of times till getting the response as 200. If still the response is not 200, the subscription for this event will be cancelled.
}